#include <stdio.h>
#include <ctype.h>
#include <conio.h>
void main ()
{
	int i, j, legajo[150], max_leg, total_a=0, total_b=0, total_c=0, auxl;
	float salario[150], max_sal, horas[150], total_pagar=0, auxs;
	char categoria[150];
	for (i=0;i<150;i++)
		{
		clrscr();
		/*--------- INGRESO DE DATOS ---------------*/
		printf ("Ingrese numero de legajo: ");
		scanf ("%d", &legajo[i]);
		/* VALIDACION DE LEGAJO */
		while (legajo[i]<0 || legajo[i]>150)
			{
			printf ("Reingrese legajo de 1 a 150: ");
			scanf ("%d", &legajo[i]);
			}
		printf ("Ingrese cantidad de horas trabajadas: \n");
		horas[i]=getch();
		printf ("ingrese categoria (A, B, C): ");
		categoria[i]=toupper(getch());
		/* VALIDACION DE CATEGORIA */
		while (categoria[i]!='A' && categoria[i]!='B' && categoria[i]!='C') 
			{
			printf ("\ningrese categoria (A, B, C): ");
			categoria[i]=toupper(getch());
			}
		}
	/* CALCULO DE SALARIO */
	for (i=0;i<150;i++)
		{
		if (categoria[i]=='A')
			{
			salario[i]=horas[i]*10.50;
                        }
			else
                	{
			if (categoria[i]=='B')
				{
				salario[i]=horas[i]*8.50;
				}
				else 
				{
				salario[i]=horas[i]*5.50;
				}
			}
		}
	/* CALCULO DE MAXIMO SALARIO */
	for (i=0;i<150;i++)
		{
		if (i==0 || salario[i]>max_sal)
			{
			max_sal=salario[i];
                        max_leg=legajo[i];
			}
		}
	/* CALCULO DE EMPLEADOS HAY DE CADA CATEGORIA */
	for (i=0;i<150;i++)
		{
		if (categoria[i]=='A')
			{
			total_a=total_a+1;
                        }
			else
                	{
			if (categoria[i]=='B')
				{
				total_b=total_b+1;
				}
				else 
				{
				total_c=total_c+1;
				}
			}
		}
	/* MONTO QUE TENDRA QUE PAGAR LA EMPRESA POR TODOS LOS EMPLEADOS */
	for (i=0;i<150;i++)
		{
		total_pagar=total_pagar+salario[i];
		}
	/* ORDENAR LISTADO POR LEGAJO*/
	for (i=0;i<150-1;i++)
        	{
		for (j=i+1;j<150;j++)
			{
			if (legajo[i]>legajo[j])
                        	{
				auxl=legajo[i];
				legajo[i]=legajo[j];
				legajo[j]=auxl;
                        	auxs=salario[i];
				salario[i]=salario[i];
				salario[i]=auxs;
                                }
			}
                }
	/* MOSTRANDO EN `PANTALLA */
	printf("\nEl maximo salario fue %6.2f, con legajo %d.", max_sal, max_leg);
	printf("\nLos empleados de la categoria A son: %d", total_a);
	printf("\nLos empleados de la categoria B son: %d", total_b);
	printf("\nLos empleados de la categoria C son: %d", total_c);
	printf("\nEl monto total que debera pagar la empresa por los empleados es %6.2f:", total_pagar);
	printf("\nListado sueldo por numero de empleado");
	printf("\nEmpleado           Sueldo\n");
	for (i=0;i<150;i++)
		{
		 printf("%3d    %6.2f\n", legajo[i], salario[i]);
		}
	getch();
}